(Fdefine_function): New function (same code as Fdefalias).
authorRichard M. Stallman <rms@gnu.org>
Thu, 29 Apr 1993 13:12:37 +0000 (13:12 +0000)
committerRichard M. Stallman <rms@gnu.org>
Thu, 29 Apr 1993 13:12:37 +0000 (13:12 +0000)
src/data.c

index c9cc6bad3846d650681ba1386343ab0cf7df48e2..613d9db6a64c77a52039e0d4b06f0dc9bb1f24cc 100644 (file)
@@ -525,6 +525,8 @@ DEFUN ("fset", Ffset, Sfset, 2, 2, 0,
   return newdef;
 }
 
+/* This name should be removed once it is eliminated from elsewhere.  */
+
 DEFUN ("defalias", Fdefalias, Sdefalias, 2, 2, 0,
   "Set SYMBOL's function definition to NEWVAL, and return NEWVAL.\n\
 Associates the function with the current load file, if any.")
@@ -540,6 +542,21 @@ Associates the function with the current load file, if any.")
   return newdef;
 }
 
+DEFUN ("define-function", Fdefine_function, Sdefine_function, 2, 2, 0,
+  "Set SYMBOL's function definition to NEWVAL, and return NEWVAL.\n\
+Associates the function with the current load file, if any.")
+  (sym, newdef)
+     register Lisp_Object sym, newdef;
+{
+  CHECK_SYMBOL (sym, 0);
+  if (!NILP (Vautoload_queue) && !EQ (XSYMBOL (sym)->function, Qunbound))
+    Vautoload_queue = Fcons (Fcons (sym, XSYMBOL (sym)->function),
+                            Vautoload_queue);
+  XSYMBOL (sym)->function = newdef;
+  LOADHIST_ATTACH (sym);
+  return newdef;
+}
+
 DEFUN ("setplist", Fsetplist, Ssetplist, 2, 2, 0,
   "Set SYMBOL's property list to NEWVAL, and return NEWVAL.")
   (sym, newplist)
@@ -2154,6 +2171,7 @@ syms_of_data ()
   defsubr (&Sfboundp);
   defsubr (&Sfset);
   defsubr (&Sdefalias);
+  defsubr (&Sdefine_function);
   defsubr (&Ssetplist);
   defsubr (&Ssymbol_value);
   defsubr (&Sset);